import 'dotenv/config';
import http from 'http';
import fs from 'fs/promises';
import url from 'url';
import path from 'path';

const __filename = url.fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

console.log(__dirname, __filename);

const PORT = process.env.PORT;

const server = http.createServer(async (req, res) => {


    try {
        if (req.method === 'GET') {
            let filePath;
            if (req.url === '/') {
                filePath = path.join(__dirname, 'public', 'index.html');
            } else if (req.url === '/about') {
                filePath = path.join(__dirname, 'public', 'about.html');
            } else {
                res.writeHead(404, { 'Content-Type': 'text/html;charset=utf-8' });
                res.end('<h1>页面未找到</h1>');
                return;
            }
            const data = await fs.readFile(filePath);
            res.setHeader('Content-Type', 'text/html');
            res.writeHead(200);
            res.end(data);

        } else {
            res.writeHead(404, { 'Content-Type': 'text/html;charset=utf-8' });
            res.end('<h1>非法请求</h1>');

        }

    } catch (error) {
        console.log(error);
        res.writeHead(404, { 'Content-Type': 'text/html;charset=utf-8' });
        res.end('<h1>服务器错误</h1>');
    }
});

server.listen(PORT, () => {
    console.log(`服务器已启动,监听端口${PORT}`);

})